#ifndef PROTOCOL_H
#define PROTOCOL_H
#include <stdlib.h>
#include <unistd.h> // Unix库函数，包含了read等系统服务函数
#include <string.h>
//协议定义类
typedef unsigned int uint;
// 定义响应消息
#define REGIST_OK "regist ok"
#define REGIST_FAILED "regist failed"

//枚举消息类型
enum ENUM_MSG_TYPE
{
    ENUM_MSG_TYPE_MIN=0,
    ENUM_MSG_TYPE_REGISTER_REQUEST,     //注册请求
    ENUM_MSG_TYPE_REGISTER_RESPOND,     //注册回复
//    ENUM_MSG_TYPE_REGISTER_REQUEST,
//    ENUM_MSG_TYPE_REGISTER_REQUEST,
//    ENUM_MSG_TYPE_REGISTER_REQUEST,
    ENUM_MSG_TYPE_MAX=0x00ffffff
};

//动态结构体
struct PDU{
    uint uiPDULen;      //总的消息大小
    uint uiMsgType;     //消息类型
    char caFileData[64];    //文件其他信息（文件名等）
    uint uiMsgLen;      //实际消息长度
    int iMsg[];        //实际消息
};
//创建PDU，uiMsgLen是可变的，需要传入参数
PDU *mkPDU(uint uiMsgLen);

#endif // PROTOCOL_H
